1. Field of the Invention
The present invention relates to an application flow control apparatus for controlling an execution sequence of a plurality of applications performing business transactions.
2. Description of the Related Art
An application is a software module used for a business transaction. In the field such as a key system for an enterprise providing services by a plurality of applications cooperating with one another in the environment of a high level integration of information systems, a system for making the applications cooperate with one another becomes important.
For instance, a consideration is given to a case for making applications 121 through 123 installed in servers 111 through 113, respectively, cooperating with one another in response to a requirement of a client such as a Web browser as shown by FIG. 1A. The client 101 and the servers 111 through 113 are connected by a communication network.
The applications 121 through 123 are provided for business transactions 1 through 3, among which the application 123 is for renewing a business data base 102. The requirements of the client 101 can be exemplified by the following two:
Requirement A: a business transaction 1 followed by a business transaction 3
Requirement B: a business transaction 1 followed by a business transaction 2 followed by a business transaction 3
For the requirement A, the application 121 is called, followed by the application 123; and for the requirement B, the applications 121, 122 and 123 are called in the aforementioned sequence. In these cases, a cooperative application to be called following the application 121 is not fixed and may be changed in the future.
If information about the followed application is coded therein, it becomes necessary to modify the sequence of calling (i.e., relationship) every time a change is made such as an addition or deletion of application.
Contrarily, if there is a system for sequentially calling an application in accordance with a prescribed cooperative flow for the applications, the above mentioned modification for the application itself becomes unnecessary, enabling the applications to be more portable and applicable to various business transactions. Such a flow technique is hence utilized for a method for integrating applications in the field of enterprise key systems.
Meanwhile, reliability is also required in terms of the characteristic of the key systems, such as assurance for messages (e.g. data) being transmitted among the applications and for uniqueness of data base processing (e.g., allowing no duplicate renewal).
FIG. 1B shows a centralized flow control system in which a flow control unit 132 is equipped in a specific management server 131. The flow control unit 132 calls the respective applications 121 through 123 in accordance with the execution sequence being described in a flow 133 to store the result in a state management data base 134. By this, a business transaction will be executed according to the flow 133.
Below listed patent document 1 relates to a centralized work flow assistance executive system, while a patent document 2 relates to a work flow management system for circulating a circulation material.
[Patent document 1] Japanese patent laid-open application publication No. 2000-207474
[Patent document 2] Japanese patent laid-open application publication No. 2000-222305
The above described conventional system for cooperative applications, however, has been faced with problems as follows.
In a centralized flow control system, the flow is executed by one management server under the management of a flow control unit, resulting in the processing capability being limited by capacities of the management server and communication network.
Also in the centralized flow control system, if an application called up by the flow control unit has been stopped, the flow stops at the time, requiring a command execution and a polling control at a certain time interval for restarting the flow.
As a countermeasure, an addition of flow control to the asynchronous communication can also be considered as shown by FIG. 1C. In the system shown by FIG. 1C, flow control units 141 through 143 and message queues 151 through 153 are equipped for the applications 121 through 123, respectively. Each flow control unit transmits a message to the queue for the next application as well as calls the application.
Merely building a flow control on a common asynchronous communication function, however, cannot assure a consistency of a message and business data being handled by an application, even if it can assure the message, since a message processing and a data base renewal for the application are executed by separate transactions. For maintaining a consistency between a message and business data, a transaction manager 161 for managing a global transaction is required, causing a problem of cost increase in view of recovery and performance.